الگوی آداپتور
در مهندسی نرمافزار، الگوی آداپتور (Adapter pattern) یک الگوی طراحی نرمافزار است که به رابط یک کلاس اجازه میدهد تا توسط رابط دیگری مورد استفاده قرار گیرد. معمولاً با این هدف مورد استفاده قرار میگیرد که بدون تغییر در کد منبع، بتوان استفاده از کلاسهای فعلی را مقدور ساخت.
تعریف
[ویرایش]یک آداپتور به دو رابط ناسازگار اجازه میدهد تا بتوانند با هم کار کنند. این یک تعریف کلی از مفهوم آداپتور است. ممکن است رابط ها ناسازگار باشند ولی قابلیت درونی آنها باید سازگار با نیاز باشد. الگوی طراحی آداپتور از طریق تبدیل رابط یک کلاس به رابط مورد انتظار توسط کلاینت، به کلاسهای ناسازگار اجازه میدهد تا بتوانند از قابلیتهای همدیگر استفاده کنند و به یکدیگر اطلاعات و دیتای لازم را منتقل کنند. به عنوان مثال، یک کلاس را در نظر بگیرید که سرویس گزارش دما را ارائه میکند و واحد دمای گزارش شده توسط این کلاس، فارنهایت است، اما مشتری این عدد را به واحد سلسیوس میخواهد. برای حل این مشکل میتوانیم برای کلاس ذکر شده، یک کلاس adapter بنویسیم که دمای گزارش شده را میگیرد و با انجام محاسبات لازم، به واحد سلسیوس تبدیل میکند و در نهایت به مشتری تحویل میدهد.
ساختار
[ویرایش]دو نوع الگوی آداپتور وجود دارد:
الگوی آداپتور شیء
[ویرایش]در این نوع الگوی آداپتور، آداپتور حاوی یک نمونه (شیء) از کلاسی است که آن را در بر میگیرد. در این حالت، آداپتور از این شیء برای رفع نیازهای تعیین شده استفاده میکند.
![](http://upload.wikimedia.org/wikipedia/commons/d/d7/ObjectAdapter.png)
الگوی آداپتور کلاس
[ویرایش]این نوع آداپتور از رابط های چندریختی استفاده می کند.
![](http://upload.wikimedia.org/wikipedia/commons/3/35/ClassAdapter.png)
منابع
[ویرایش]- Freeman, Eric; Freeman, Elisabeth; Kathy, Sierra; Bates, Bert (2004). "Head First Design Patterns". O'Reilly Media: 244. ISBN 978-0-596-00712-6. OCLC 809772256. Archived from the original (paperback) on 4 May 2013. Retrieved April 30, 2013.
{{cite journal}}
: Cite journal requires|journal=
(help)